package formdata

import "gorm.io/gorm"

type GoodsList struct {
	Page     int `json:"page"`
	PageSize int `json:"page_size"`
}
type GetGoodsSkuInfoReq struct {
	SkuId string `json:"sku_id"`
}

// 商品属性表大的结构体
type GoodsProperty struct {
	gorm.Model
	Name    string `gorm:"type:varchar(255);comment:属性名称"`
	GoodsId int64  `gorm:"type:int:comment:关联的商品id"`
}

// 商品表的结构体
type CreateGoods struct {
	gorm.Model
	Title       string `json:"title"`
	Point       int64  `json:"point"`
	Description string `json:"description"`
	Img         string `json:"img"`
	TypesID     int64  `json:"types_id"`
}
type GoodsDetail struct {
	GoodsId string `json:"goods_id"`
	V1      int64  `json:"v_1"`
	V2      int64  `json:"v_2"`
	V3      int64  `json:"v_3"`
}
type GoodsSearch struct {
	Title    string `json:"title"`
	Page     int64  `json:"page"`
	PageSize int64  `json:"page_size"`
	TypesID  int64  `json:"types_id"`
}

type GoodsCategory struct {
	Location int64 `json:"location"`
	Page     int64 `json:"page"`
	PageSize int64 `json:"page_size"`
}

// 商品详情列表
type GoodsInfoList struct {
	ID          int64    `json:"id"`
	SkuId       int64    `json:"sku_id"`
	Title       string   `json:"title"`
	Point       int64    `json:"point"`
	Description string   `json:"description"`
	Img         []string `json:"img"`
	TypesID     int64    `json:"types_id"`
	IsGoods     int64    `json:"is_goods"`
	Price       string   `json:"price"`
	VipPrice    string   `json:"vip_price"`
	Stock       int64    `json:"stock"`
}

// 商品详情
type GoodsInfo struct {
	GoodsID     int64         `json:"goods_id"`
	Title       string        `json:"title"`
	Price       string        `json:"price"`
	Point       int64         `json:"point"`
	Image       []string      `json:"image"`
	Description string        `json:"description"`
	Property    []PropertyVal `json:"property"`
	TypesID     int64         `json:"types_id"`
}
type PropertyVal struct {
	PrId        int64   `json:"pr_id"`
	Name        string  `json:"name"`
	PropertyVal []GVals `json:"property_val"`
}

// 商品属性值
type GVals struct {
	ValId int64    `json:"val_id"`
	PrId  int64    `json:"pr_id"`
	Name  string   `json:"name"`
	Img   []string `json:"img"`
}

// 商品属性值
type GVal struct {
	ValId    int64    `json:"val_id"`
	PrId     int64    `json:"pr_id"`
	Name     string   `json:"name"`
	Img      []string `json:"img"`
	Price    string   `json:"price"`
	VipPrice float64  `json:"vip_price"`
	Stock    int64    `json:"stock"`
}

// 订单商品
type OrderGoodsInfo struct {
	GoodsId          int64  `json:"goods_id"`
	PropertyValueId1 int64  `json:"property_value_id_1"`
	PropertyValueId2 int64  `json:"property_value_id_2"`
	PropertyValueId3 int64  `json:"property_value_id_3"`
	SkuId            int64  `json:"sku_id"`
	Title            string `json:"title"`
	Img              string `json:"img"`
	Price            string `json:"price"`
	Quantity         int64  `json:"quantity"`
}

type GoodsSkuInfo struct {
	SkuID       int64    `json:"sku_id"`
	ProValueID1 int64    `json:"pro_value_id_1"`
	ProValueID2 int64    `json:"pro_value_id_2"`
	ProValueID3 int64    `json:"pro_value_id_3"`
	Price       string   `json:"price"`
	VipPrice    string   `json:"vip_price"`
	Stock       int64    `json:"stock"`
	GoodsID     int64    `json:"goods_id"`
	Image       []string `json:"image"`
}
type GoodsCategoryLocation struct {
	Location int64 `json:"location"`
}
type CategoryByIDGoodsInfo struct {
	CategoryID int64 `json:"category_id"`
	Page       int64 `json:"page"`
	PageSize   int64 `json:"page_size"`
}
